/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package hoja4;

/**
 *
 * @author Ennio
 */
    import java.util.Scanner;
    import java.util.InputMismatchException;
public class Hoja4 {

    /**
     * @param args the command line arguments
     */

    public static void main(String[] args) {
        // TODO code application logic here
        
         Scanner ingreso = new Scanner (System.in);
         
         
         
        Pila<String> pilaString = new Pila<String>();
        Pila<Double> pilaNum = new Pila<Double>();
        String Operando = new String();
        double termino1 = 0;
        double termino2 = 0;
        double resultado = 0;
        boolean turno = true;
        int opcion =1;
        
        System.out.println(" Inicio del programa!!! Bienvenido, ingrese valores!!!");
        
       do
        {
            menuInicio(true);
            
            opcion=(int)obtValor("\nIngrese la opcion a la que desea ingfresar, notacion posfix: \n",false);
            if (opcion<0)
                opcion=0;
            //-----------------------------------------------------------------------------
            
            switch(opcion)
            {
                case 1:
                    System.out.println("operando: ");
                    pilaString.addFirst(ingreso.nextLine());
                    break;
                    
                    
                    
                case 2:
                    termino1 =(double)obtValor("numero:: \n",false);
                    if (termino1<0)
                        termino1=0;
                    pilaNum.addFirst(termino1); 
                    break;
                    
                    
                
                    
                case 4:
                    System.out.println("Fin del programa");
                    break;
                default:
                    System.out.println("ERROR dato invalido!!!");
               
            }
            
        }while (opcion!=4);
        
    }
        
    
    
    public static void menuInicio(boolean tipo){
        if (tipo){
            
            System.out.println("| 1. Agregue un operador ");
            System.out.println("| 2. Agregue un numero ");
            System.out.println("| 3. Resultado ");
            System.out.println("| 4. Salir  ");
            
        }
        
        }
    public static boolean cambio(boolean tipo){
        return !tipo;
    }
    
    public static double obtValor(String message, boolean mostrar)
    {
        Scanner ingreso=new Scanner (System.in);
        double num=-1;
        
        System.out.print(message);
        try
        {
            num=ingreso.nextDouble();
        }
        catch(InputMismatchException exception)
        {
            if (mostrar)
                System.out.println("\nError: este dato es invalido.\n");
        }
        finally
        {
            ingreso.nextLine(); //atrapar el enter
        }
        return num;
    }
}
